package com.estate.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;
import java.time.ZoneId;
import java.util.TimeZone;

@Configuration
public class TimeZoneConfig {

    // 系统统一时区 - 悉尼（自动处理夏令时）
    public static final ZoneId SYSTEM_ZONE = ZoneId.of("Australia/Sydney");
    // 服务器时区 - UTC
    public static final ZoneId SERVER_ZONE = ZoneId.of("UTC");
    // 展示时区 - 北京
    public static final ZoneId DISPLAY_ZONE = ZoneId.of("Asia/Shanghai");

    /**
     * 设置应用默认时区为悉尼
     */
    @PostConstruct
    public void init() {
        TimeZone.setDefault(TimeZone.getTimeZone(SYSTEM_ZONE));
    }

    @Bean
    public ZoneId systemZoneId() {
        return SYSTEM_ZONE;
    }
}